home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / rexx / imc / patches-.5 < prev    next >
Text File  |  1994-05-22  |  9KB  |  329 lines

  1. #/bin/sh
  2. # This file was created by "diff -e".  It patches every file which changed
  3. # from version 1.5 to version 1.5a.  Change to the directory containing all
  4. # the (unmodified) version 1.5 files and run this script to make version
  5. # 1.5a.
  6. #
  7. # A context diff file can be found in file diffs-1.5.Z
  8. #
  9. ed - Make.orig << '-*-END-*-'
  10. 84c
  11. #CCFLAG=
  12. #LDFLAG=-s
  13. #MORECCFLAGS = -DNO_LDL -qchars=signed
  14. .
  15. w
  16. q
  17. -*-END-*-
  18. ed - README << '-*-END-*-'
  19. 16,22c
  20. Compiled binaries may be available in a separate distribution file whose
  21. filename starts with the target machine name.  If you use the compiled
  22. binaries, then "parse version" will give the release date rather than
  23. the date of compilation.
  24. .
  25. w
  26. q
  27. -*-END-*-
  28. ed - README.files << '-*-END-*-'
  29. 47a
  30.  
  31. A separate distribution file containing the files rexx, rxstack, rxque and
  32. possibly rxmathfn.rxfn may be present.  These are compiled executables: just
  33. move these into a binaries directory and you are ready to try out REXX/imc.
  34. .
  35. 5,11d
  36. w
  37. q
  38. -*-END-*-
  39. ed - README.make << '-*-END-*-'
  40. 283a
  41.  
  42. Note that the single-letter options will not work properly if you have
  43. inserted an extra "CCFLAG=" or "LDFLAG=" line into the Make file.
  44. .
  45. 248a
  46.  
  47. .
  48. 247a
  49. A recent article on comp.unix.programmer stated that dlopen(), dlsym() and
  50. dlclose() functions have been written for AIX.  It said:
  51. >you might have a look at the `libdl emulation library' for AIX that has
  52. >been published in USENET a while ago (I believe its author is
  53. >jum@helios.de).  This library emulates the dlopen(), dlsym(), and
  54. >dlclose() functions of the dynamic linker interface of SysVR4 and
  55. >SunOS 4.1/5.x under AIX.
  56. (this text was from article <220l5e$on@news.cs.tu-berlin.de>, sent by
  57. net@cs.tu-berlin.de (Oliver Laumann))
  58. .
  59. 243,246c
  60. removed from the binaries directory.  However, it will still be possible
  61. to use external functions written in Rexx.  You will be able to use the
  62. REXX math library by copying the Rexx file rxmathfn.exec into the binaries
  63. directory.  You can prevent the Make file from trying to compile the math
  64. library by defining MATH to be blank, as mentioned in the Make file.
  65. .
  66. 238c
  67. functions), -lbsd (for systems with BSD compatibility libraries, as in AIX),
  68. .
  69. 199,200c
  70.    binaries, then inform them of the fact that they may optionally set
  71.    the REXXIMC environment variable before "rexx" is invoked.  Note that
  72.    REXX/imc should still work even if they do not do this.
  73. .
  74. 128,130c
  75.    compilation is other than $HOME/`arch` (or if that is non-existent
  76.    the current directory), then set the environment variable BINDIR to
  77.    the value you wish it to be.
  78. .
  79. 116c
  80.    them to "ld".  Alternatively, you may place the line "LDFLAG=<zero or
  81.    more flags here>" just after the definition of MORECCFLAGS.
  82. .
  83. 111c
  84.    altering the definition of MORECCFLAGS, or redefine the flags by
  85.    adding "CCFLAG= <zero or more flags here>" just after the definition
  86.    of MORECCFLAGS.
  87. .
  88. 98c
  89.    path to reflect the correct path to "gcc" itself on your machine.  If
  90.    "gcc" is on your path, then just "gcc" will work.
  91. .
  92. 37c
  93.    calc.o globals.o rexx.o rxfn.o shell.o util.o
  94. .
  95. w
  96. q
  97. -*-END-*-
  98. ed - README.news << '-*-END-*-'
  99. 25a
  100. The option "setrc" has been added to aid migration.  This option causes the
  101. I/O functions to set the RC variable and to signal on error (if NOTREADY is
  102. not being trapped).
  103.  
  104. .
  105. w
  106. q
  107. -*-END-*-
  108. ed - README.versions << '-*-END-*-'
  109. 147a
  110.  
  111. REXX/imc-beta-1.5a 4.00 5 Sep 1993 was released to patch the following:
  112.  
  113.    * Corrected the AIX cc compile flags -O2 and -qchar=signed.
  114.    * Removed extraneous definition of bsearch.
  115.    * Renamed "free" label to satisfy SunOS cc compiler.
  116.    * Corrected an uninitialised variable reference which caused a crash on
  117.      certain function calls.
  118.    * Corrected "storage exhausted" error with startup on AIX.
  119.    * Corrected a bug which caused looping while reporting "Unmatched quote"
  120.      error in certain input files.
  121.    * Corrected an error which left the default filetype blank when the
  122.      source file was standard input or "-s string".
  123.    * Allowed "address ''" and "trace ''" to run without error.
  124.    * Disallowed "call on novalue" and "call on syntax".
  125.    * Added setrc option to aid compatibility with earlier versions.
  126.    * Added -v and -c commandline flags.
  127. .
  128. w
  129. q
  130. -*-END-*-
  131. ed - calc.c << '-*-END-*-'
  132. 1133c
  133. /*    if(!i)die(Enostring);   We allow null strings except where checked individually */
  134. .
  135. w
  136. q
  137. -*-END-*-
  138. ed - const.h << '-*-END-*-'
  139. 3c
  140. #define VER "beta-1.5a"
  141. .
  142. w
  143. q
  144. -*-END-*-
  145. ed - globals.c << '-*-END-*-'
  146. 69a
  147. int setrcflag=0;               /* flag for "options setrc" */
  148. .
  149. w
  150. q
  151. -*-END-*-
  152. ed - globals.h << '-*-END-*-'
  153. 80a
  154. extern int setrcflag;              /* flag for "options setrc" */
  155. .
  156. w
  157. q
  158. -*-END-*-
  159. ed - rexx.c << '-*-END-*-'
  160. 2274a
  161.    }
  162. .
  163. 2273c
  164.       gettoken(*lineptr,&tmpchr,varnamebuf,varnamelen,0);
  165.       if(!varnamebuf[0])die(Enostring);
  166. .
  167. 2271c
  168.    if(on && **lineptr==NAME){
  169. .
  170. 2254a
  171.    if(!strcasecmp(option,"setrc"))return setrcflag=1;
  172.    if(!strcasecmp(option,"nosetrc"))return setrcflag=0,1;
  173. .
  174. 1952a
  175.       }
  176. .
  177. 1949c
  178.       if(!lit){
  179. .
  180. 1189a
  181.                   if(i==Isyntax||i==Inovalue)die(Etrap);
  182. .
  183. 1097a
  184.                            else if(setrcflag)rcset(0,Enotready,"stdin");
  185. .
  186. 553c
  187. dofree:
  188. .
  189. 461c
  190.             else goto dofree;             /* This frees and exits */
  191. .
  192. 425a
  193.          source[++lines]=ptr+1;
  194. .
  195. 205a
  196.       strcpy(extension,filetype),
  197.       extlen=strlen(extension);
  198. .
  199. 202c
  200.    if(input)
  201.       optionx=0,
  202.       strcpy(fname,"string"),
  203.       strcpy(extension,filetype),
  204.       extlen=strlen(extension);
  205. .
  206. 183,185c
  207.       if(c<argc-1)args[argtot++]=' ';
  208. .
  209. 181c
  210.       memcpy(args+argtot,argv[c],l);
  211. .
  212. 176,177c
  213.    if(arglen)args=allocm(arglen);
  214.    else args=0;     /* this makes arg()=0. */
  215. .
  216. 164a
  217.          case 'V':             /* "rexx -v" prints version and exits */
  218.             puts(version);     /* but "rexx -v something" prints version */
  219.             if(argc==2)die(0); /* and behaves like "rexx something". */
  220.             break;
  221. .
  222. 143a
  223.          case 'C':
  224. .
  225. w
  226. q
  227. -*-END-*-
  228. ed - rexx.ref << '-*-END-*-'
  229. 2640c
  230. REXX/imc currently recognises the following options (options starting
  231. "no" are listed under their opposites):
  232.  
  233.  SETRC               This option causes the I/O operations linein,
  234.                      charin, lineout, charout, parse pull and parse
  235.                      linein to set the RC special variable as they
  236.                      did in earlier versions of REXX/imc.  If the
  237.                      NOTREADY condition is not being trapped, then an
  238.                      I/O operation which sets RC to a nonzero value will
  239.                      instead cause an ERROR condition to be raised, if
  240.                      that is being trapped.
  241.  
  242.  NOSETRC             The opposite of SETRC; that is, this option restores
  243.                      the behaviour of I/O operations to the documented
  244.                      behaviour.
  245. .
  246. 2482,2483c
  247. If no setting is specified or if the setting is an empty string, then
  248. interactive tracing is turned off and tracing is set to "N".
  249. .
  250. 82,83c
  251. or "-" is specified as the filename then REXX/imc reads a program from
  252. the standard input.
  253. .
  254. 77,79c
  255.              it prevents an ".exec" from being appended to the filename,
  256.              and it causes the first line of the file to be ignored (see
  257.              below).
  258. .
  259. 69,70c
  260.              may need to be quoted, because "?" is a shell metacharacter.
  261. .
  262. 62,64c
  263.              metacharacters (including spaces) then it must be quoted to
  264.              prevent the shell from interpreting it or splitting it up.
  265.              The flags -s and -c are equivalent.  The latter is provided
  266.              for consistency with shell parameters.
  267. .
  268. 58c
  269.   -c string  though it were a program.  The string may contain newline
  270. .
  271. 56a
  272.   -v         The interpreter will print out the version string (as used
  273.              by "parse version").  The command "rexx -v" by itself will
  274.              terminate after printing the version string, but all other
  275.              forms will continue as if the -v option were not present
  276.              after printing the version string.
  277.  
  278. .
  279. w
  280. q
  281. -*-END-*-
  282. ed - rexx.summary << '-*-END-*-'
  283. 152c
  284. TRACE [symbol]                 - control program tracing. Values are:
  285. .
  286. 97a
  287. OPTIONS expression             - Control system-dependent things
  288.  
  289. .
  290. 29c
  291.  * The following functions: chdir getcwd getenv putenv system userid
  292. .
  293. w
  294. q
  295. -*-END-*-
  296. ed - rxfn.c << '-*-END-*-'
  297. 2771a
  298.    else if(setrcflag)rcset(0,Enotready,name);
  299. .
  300. 2647a
  301.    else if(setrcflag)rcset(0,Enotready,name);
  302. .
  303. 2549a
  304.       if(setrcflag)rcset(0,Enotready,name);
  305. .
  306. 2420a
  307.    else if(setrcflag)rcset(0,Enotready,name);
  308. .
  309. 100d
  310. w
  311. q
  312. -*-END-*-
  313. ed - util.c << '-*-END-*-'
  314. 1215c
  315.         if(sourcelen-1<=++lines)
  316. .
  317. 113c
  318.    if(rc && type==Enotready)lasterror=rc; /* save an I/O error */
  319. .
  320. 109c
  321.    if(type!=Enotready || setrcflag){ /* set rc after a command */
  322. .
  323. 104c
  324.    if(rc && call==0 && catch==0 && (type==Efailure||type==Enotready&&setrcflag))
  325. .
  326. w
  327. q
  328. -*-END-*-
  329.